//给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
//
//说明：
//你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗？
//
//示例 1:
//
//输入: [2,2,1]
//输出: 1

package main

import (
	"fmt"
)

func singleNumber(nums []int) int {
	for i := 0; i < len(nums); i++ {
		if len(nums) == 1 {
			goto Loop
		}
		for j := i + 1; j < len(nums); j++ {
			if nums[i] == nums[j]{
				nums = append(nums[:j], nums[j+1:]...)
				nums = append(nums[:i], nums[i+1:]...)
			}
		}
	}
	singleNumber(nums)
Loop:
	return nums[0]

}

func main() {
	//nums := []int{4,1, 2, 1, 2}
	nums := []int{2, 2, 1}
	res := singleNumber(nums)
	fmt.Println(res)
}
